home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / joust_v2.src < prev    next >
Text File  |  1995-03-31  |  29KB  |  1,378 lines

  1. Subject: Source for Joust v2.0 (Chipper)
  2.  
  3. Here is the source for Joust v2.0 written in Chipper syntax
  4. The following article is the original Chipper documentation.
  5. You can get chipper.zip (PKUNZIP) by binary ftp from seq.uncwil.edu.
  6. ---------------------------------------------------------------------
  7. ;--------------
  8. ;Register Usage
  9. ;--------------
  10. ;
  11. ;V0    =    Sprite X coordinate (player, crows and eggs)
  12. ;V1    =    Sprite Y coordinate
  13. ;V2    =    Sprite X delta
  14. ;V3    =    Sprite Y delta
  15. ;V4    =    Current right/left flag (moves pointer)
  16. ;V5    =    Old right/left flag
  17. ;V6    =    Player's X coordinate, for collision checking, player dead flag
  18. ;V7    =    Player's Y coordinate, for collision checking
  19. ;V8    =    Mode of play flag
  20. ;V9    =    # players left
  21. ;VA    =    Sprite scope flag
  22. ;VB    =    # crows, by level
  23. ;VC    =    level
  24. ;VD    =    scratch
  25. ;VE    =    scratch
  26. ;VF    =    collision, greater/less than flag
  27. ;
  28. ;Many items are stored, see bottom of source code
  29.  
  30. ;Constants
  31. ;---------
  32. TRUE        =    1        ;used to denote a test with vf
  33. FALSE        =    0
  34.  
  35. SCOREDELTA    =    1
  36.  
  37. SPRTHEIGHT         =        8        ;height of sprite (player/crow)
  38. SPRTWIDTH          =        8        ;width of sprite
  39.  
  40. NONE            =        0        ;Sprite scoping values (VA)
  41. ONECROW            =        1
  42. TWOCROWS           =        2
  43. ONECROW1EGG    =    3
  44. TWOEGGS        =    4
  45. ONEEGG        =    5
  46.  
  47. GUYDEAD        =    #DD        ;flag, V6
  48.  
  49. MODE1        =    0        ;levels 1-3
  50. MODE2        =    1        ;levels 4-7
  51. MODE3        =    2        ;levels 8-99
  52.  
  53. KEYUP     =    #A
  54. KEYRGT    =    #C
  55. KEYLFT    =    3
  56.  
  57. PAD1TOP   =    28            ;geometry of islands
  58. PAD1BOT   =    32
  59. PAD1RGT   =    16
  60. PAD1LFT   =    112
  61.  
  62. PAD2TOP   =    16
  63. PAD2BOT   =    20
  64. PAD2RGT   =    80
  65. PAD2LFT   =    48
  66.  
  67. PAD3TOP   =    40
  68. PAD3BOT   =    44
  69. PAD3RGT   =    80
  70. PAD3LFT   =    48
  71.  
  72. ROOF      =    0
  73. FLOOR     =    60
  74.  
  75. BONUSLIMIT    =    110        ;bonus round time limit
  76.  
  77. JP   BRAG
  78.  
  79. DA 'Joust2 by Zoom'
  80.  
  81. BRAG:        DW    #00FF        ;turn on extended
  82.         CALL    NAME        ;title screen
  83.  
  84. REPLAY:        LD        V0, 0        ;zero score storage
  85.                LD        I, SCORE
  86.                LD        [I], V0
  87.                LD        V8, MODE1
  88.                LD        V9, 3        ;three players
  89.                LD        VC, 0
  90.  
  91. NEWLEVEL:    LD    VD, 15
  92.         CALL    DELAY
  93.         CLS
  94.         LD    VA, TWOCROWS
  95.         ADD    VC, 1
  96.         LD    VD, 7
  97.         AND    VD, VC
  98.         SNE    VD, 7        ;every 7 levels is the bonus round
  99.         JP    BONUS
  100.         LD    VD, 7        
  101.         SUB    VD, VC
  102.         SNE    VF, FALSE    ;7 - n < 0   ->    vf=0
  103.         JP    STALL        ;past level 8 freeze #crows
  104.         SNE    VC, 4
  105.         LD    V8, MODE2
  106.         LD    VB, VC        ;levels 1-6, #crows=level + 1
  107.         ADD    VB, 1
  108. RSTALL:        CALL    RAY1        ;draw rays
  109.         LD    VE, 27        ;y coordinate of level number
  110.         LD    VD, 9
  111.         SUB    VD, VC
  112.         SE    VF, TRUE    ;check if level > 9
  113.         JP    TWODIGIT    ;draw two digit level
  114.         DW    #FC30        ;10 byte font for VD
  115.         LD    VD, 60
  116.         DRW    VD, VE, 10
  117.         CALL    RAY2        ;erase rays
  118.         JP    RESUME
  119.  
  120. STALL:        LD    VB, 8        ;past level 7, #crows=8
  121.         LD    V8, MODE3    ;fast mode
  122.         JP    RSTALL
  123.  
  124. TWODIGIT:     LD       I, LEVEL    ;two digit level number
  125.               LD       B, VC        ;load bcd of vc into LEVEL data space
  126.               LD       V2, [I]        ;read back bcd
  127.               LD       VD, 55
  128.               DW       #F130
  129.               DRW      VD, VE, 10
  130.               LD       VD, 65
  131.               DW       #F230
  132.               DRW      VD, VE, 10
  133.               CALL     RAY2
  134.               JP       RESUME
  135.  
  136. RESUME:        CALL    SCREEN
  137.         CALL    INITGUY
  138.         CALL    INITCROW1
  139.         SE    VB, 0        ;sometimes only one crow left
  140.         CALL    INITCROW2
  141.         LD    VD, 15        ;delay argument
  142.         CALL    DELAY
  143.  
  144. MAIN:        CALL    MOVEGUY
  145.         SNE    V6, GUYDEAD
  146.         JP    DIE
  147.         SNE    VA, NONE
  148.         JP    NEWLEVEL
  149.         CALL    MOVEOTHERS    ;handles all non-player sprites
  150.         SE    V8, MODE1
  151.         CALL    WAVE
  152.         LD    VD, 5
  153.         SNE    V8, MODE1
  154.         CALL    DELAY
  155.         LD    VD, 3
  156.         SNE    V8, MODE2
  157.         CALL    DELAY
  158.         JP    MAIN
  159.  
  160. DELAY:        LD    DT, VD
  161. DLP:        LD    VD, DT
  162.         SE    VD, 0
  163.         JP    DLP
  164.         RET
  165.  
  166. MOVEGUY:    LD    I, GUYSAVE    ;retrieve player registers
  167.         LD    V5, [I]
  168.         CALL    GODOWN
  169.         LD    V2, 0        ;start with delta x = 0
  170.         LD    VD, KEYUP
  171.         SKNP    VD
  172.         CALL    GOUP
  173.         LD    VD, KEYLFT
  174.         SKNP    VD
  175.         CALL    GOLEFT
  176.         LD    VD, KEYRGT
  177.         SKNP    VD
  178.         CALL    GORIGHT
  179.         CALL    DRAWGUY
  180.         SNE    V6, GUYDEAD
  181.         RET
  182.         SNE    VF, 1
  183.         CALL    COLLISION    ;global collision routine
  184.         RET
  185.  
  186. MOVEOTHERS:    SNE    VA, ONECROW
  187.         JP    MOVECROW1
  188.         SNE    VA, TWOCROWS
  189.         JP    MOVECROWS
  190.         SNE    VA, ONECROW1EGG
  191.         JP    MOVECROW1EGG1
  192.         SNE    VA, TWOEGGS
  193.         JP    MOVEEGGS
  194.         SNE    VA, ONEEGG
  195.         JP    MOVEEGG1
  196.  
  197. MOVECROWS:    CALL MOVECROW1
  198.         CALL MOVECROW2
  199.         RET
  200.  
  201. MOVECROW1:    LD    I, CROW1SAVE
  202.         LD    V5, [I]
  203.         RND    VD, 3
  204.         SNE    VD, 0
  205.         CALL    GORANDOM    ;random motion
  206.         CALL    ATTACK        ;within range, crow will attack
  207.         CALL    DRAWCROW1
  208.         SNE    VF, TRUE    ;collision?
  209.         JP    CROW1COLL
  210.         RET
  211.  
  212. ATTACK:        LD    VD, V6        ;this routine finds the absolute
  213.         SUB    VD, V0        ;distance between player and crow
  214.         SE    VF, TRUE    ;and compares this with a minimum
  215.         SUBN    VD, VF        ;attacking distance
  216.         LD    VE, 20        
  217.         SUB    VE, VD
  218.         SE    VF, TRUE
  219.         RET
  220.         LD    VD, V7
  221.         SUB    VD,V1
  222.         SE    VF, TRUE
  223.         SUBN    VD, VF
  224.         LD    VE, 12
  225.         SUB    VE, VD
  226.         SE    VF, TRUE
  227.         RET
  228.         LD    VD, V6        ;this part steers the crow towards
  229.         SUB    VD, V0        ;the player
  230.         SE    VF, TRUE
  231.         CALL    GOLEFT
  232.         SE    VF, FALSE
  233.         CALL    GORIGHT
  234.         LD    VD, V7
  235.         SUB    VD, V1
  236.         SE    VF, FALSE
  237.         CALL    GODOWN
  238.         SE    VF, TRUE
  239.         CALL    GOUP
  240.         SNE    V1, V7
  241.         CALL    GOUP
  242.         RET
  243.  
  244. MOVECROW2:    LD    I, CROW2SAVE
  245.         LD    V5, [I]
  246.         RND    VD, 2
  247.         SNE    VD, 0
  248.         CALL    GORANDOM
  249.         CALL    DRAWCROW2
  250.         SNE    VF, TRUE
  251.         JP    CROW2COLL    ;collision routine for crows only
  252.         RET
  253.  
  254.  
  255. MOVECROW1EGG1:    CALL MOVECROW1
  256.         CALL MOVEEGG1
  257.         RET
  258.  
  259. MOVEEGGS: CALL MOVEEGG2
  260.           CALL MOVEEGG1
  261.           RET
  262.  
  263. MOVEEGG1: LD   I, EGG1SAVE
  264.           LD   V4, [I]
  265.           SNE  V4, 2        ;v4 flags if egg is on the floor
  266.           JP   FADE1        ;count down for egg removal
  267.           LD   V2, 0
  268.           CALL HOPCHECK        ;egg will hop on pads
  269.           CALL DRAWEGG
  270.           LD   I, EGG1SAVE
  271.           LD   [I], V4
  272.           RET
  273.  
  274. FADE1:    ADD  V2, 1        ;V2 becomes the count down to remove
  275.           SNE  V2, 8        ;the egg
  276.           JP   BYEEGG1
  277.           LD   I, EGG1SAVE
  278.           LD   [I], V4
  279.           RET
  280.  
  281. BYEEGG1:    LD    I, EGG
  282.         DRW    V0, V1, 4
  283.         SNE    VA, TWOEGGS        ;take care of sprite scope
  284.         JP    SHIFTEGG
  285.         SNE    VA, ONECROW1EGG
  286.         JP    MAKECROW2
  287.         LD    VA, NONE
  288.         RET
  289.  
  290. SHIFTEGG: LD   I, EGG2SAVE        ;we have egg2 only if egg1 is present
  291.           LD   V4, [I]
  292.           LD   I, EGG1SAVE
  293.           LD   [I], V4
  294.           SNE  VB, 0
  295.           LD   VA, ONEEGG
  296.           SNE  VB, 0
  297.           RET
  298.           CALL INITCROW1
  299.           LD   VA, ONECROW1EGG
  300.           RET
  301.  
  302. MAKECROW2:     SNE  VB, 0
  303.                LD   VA, ONECROW
  304.                SNE  VB, 0
  305.                RET
  306.                CALL INITCROW2
  307.                LD   VA, TWOCROWS
  308.                RET
  309.  
  310. MOVEEGG2:      LD   I, EGG2SAVE
  311.                LD   V4, [I]
  312.                SNE  V4, 2
  313.                JP   FADE2
  314.                LD   V2, 0
  315.                CALL HOPCHECK
  316.                CALL DRAWEGG
  317.                LD   I, EGG2SAVE
  318.                LD   [I], V4
  319.                RET
  320.  
  321. FADE2:         ADD  V2, 1
  322.                SNE  V2, 8
  323.                JP   BYEEGG2
  324.                LD   I, EGG2SAVE
  325.                LD   [I], V4
  326.                RET
  327.  
  328. BYEEGG2:    LD    I, EGG
  329.         DRW    V0, V1, 4
  330.         SNE    VB, 0
  331.         JP     BB2
  332.         CALL    INITCROW1
  333.         LD    VA, ONECROW1EGG
  334.         RET
  335. BB2:            LD    VA, ONEEGG
  336.                 RET
  337.  
  338. HOPCHECK:    SNE    V1, PAD1TOP - 4
  339.         JP    HOP1
  340.         SNE    V1, PAD2TOP - 4
  341.         JP    HOP23
  342.         SNE    V1, PAD3TOP - 4
  343.         JP    HOP23
  344.         LD    V3, 1
  345.         RET
  346.  
  347. HOP1:        CALL    PAD1H
  348.         SE    V3, 0
  349.         RET
  350.         LD    VD, 1
  351.         LD    ST, VD
  352.         LD    V3, #FD
  353.         SNE    V4, 0
  354.         LD    V2, #FE
  355.         SNE    V4, 1
  356.         LD    V2, #2
  357.         RET
  358.  
  359. HOP23:        CALL    PAD23H
  360.         SE    V3, 0
  361.         RET
  362.         LD    VD, 1
  363.         LD    ST, VD
  364.         LD    V3, #FD
  365.         SNE    V4, 0
  366.         LD    V2, #FE
  367.         SNE    V4, 1
  368.         LD    V2, #2
  369.         RET
  370.  
  371. DRAWEGG:    LD    VD, V0
  372.         LD    VE, V1
  373.         ADD    V0, V2
  374.         ADD    V1, V3
  375.         LD    I, EGG
  376.         DRW    VD, VE, 4
  377.         DRW    V0, V1, 4
  378.         SNE    V1, 56
  379.         LD    V4, 2
  380.         RET
  381.  
  382. DRAWGUY:    CALL    CHECKVERT
  383.         CALL    CHECKHORZ
  384. TITLEGUY:    LD    VD, V0
  385.         LD    VE, V1
  386.         ADD    V0, V2
  387.         ADD    V1, V3
  388.         LD    I, GUY
  389.         ADD    I, V5
  390.         LD    V5, 127
  391.         AND    V0, V5
  392.         LD    V5, V4
  393.         LD    V6, V0
  394.         LD    V7, V1
  395.         DRW    VD, VE, 8
  396.         LD    I, GUY
  397.         ADD    I, V4
  398.         DRW    V0, V1, 8
  399.         SNE    V1, 56
  400.         LD    V6, GUYDEAD
  401.         LD    I, GUYSAVE
  402.         LD    [I], V5
  403.         RET
  404.  
  405. DRAWCROW1:     CALL DRAWCROW
  406.                LD   I, CROW1SAVE
  407.                LD   [I], V5
  408.                RET
  409.  
  410. DRAWCROW2:     CALL DRAWCROW
  411.                LD I, CROW2SAVE
  412.                LD [I], V5
  413.                RET
  414.  
  415. DRAWCROW:      CALL CHECKVERT
  416.                CALL CHECKHORZ
  417.                SNE  V1, 52
  418.                CALL GOUP
  419. TITLECROW:     LD   VD, V0
  420.                LD   VE, V1
  421.                ADD  V0, V2
  422.                ADD  V1, V3 
  423.                LD   I, CROW
  424.                ADD  I, V5
  425.                LD   V5, 127
  426.                AND  V0, V5
  427.                LD   V5, V4
  428.                DRW  VD, VE, 8
  429.                LD   I, CROW
  430.                ADD  I, V4
  431.                DRW  V0, V1, 8
  432.                RET
  433.  
  434. GOLEFT:        LD   V4, 8
  435.                LD   V2, #FC
  436.                RET
  437.  
  438. GORIGHT:       LD   V4, 0
  439.                LD   V2, 4
  440.                RET
  441.  
  442. GOUP:     LD   V3, #FE
  443.           RET
  444.  
  445. GODOWN:   LD   V3, 2
  446.           RET
  447.  
  448. GORANDOM:    RND    VD, 1
  449.         SNE    VD, 1
  450.         LD    ST, VD
  451.         SNE    VD, 0
  452.         CALL    GOLEFT
  453.         SNE    VD, 1
  454.         CALL    GORIGHT
  455.         RND    VD, 1
  456.         SNE    VD, 0
  457.         CALL    GODOWN
  458.         SNE    VD, 1
  459.         CALL    GOUP
  460.         RET
  461.  
  462. WAVE:     RND  VD, 3
  463.           SE   VD, 0
  464.           RET
  465.           LD   I, SPLASHSAVE
  466.           LD   V1, [I]
  467.           LD   VD, 59
  468.           LD   I, SPLASHXOR
  469.           DRW  V0, VD, 5
  470.           ADD  V0, V1
  471.           SNE  V0, 8
  472.           CALL SPLASHRGT
  473.           SNE  V0, 112
  474.           CALL SPLASHLFT
  475.           LD   I, SPLASHSAVE
  476.           LD   [I], V1
  477.           RET
  478.  
  479. SPLASHRGT:     LD   V0, 16
  480.                LD   V1,  8
  481.                RET
  482.  
  483. SPLASHLFT:     LD   V0, 104
  484.                LD   V1, #F8
  485.                RET
  486.  
  487. CROW1COLL:    CALL    CROWCOLL
  488.         SNE    VF, FALSE
  489.         JP    KILLCROW1
  490.         RET
  491.  
  492. CROW2COLL:    CALL    CROWCOLL
  493.         SNE    VF, FALSE
  494.         JP    KILLCROW2
  495.         RET
  496.  
  497. CROWCOLL:    LD    VD, V6
  498.         SUB    VD, V0
  499.         SNE    VF, FALSE
  500.         SUB    VF, VD
  501.         LD    VE, SPRTWIDTH
  502.         SUB    VD, VE
  503.         SNE    VF, TRUE
  504.         RET
  505.         LD    VD, V7
  506.         SUB    VD, V1
  507.         SNE    VF, FALSE
  508.         SUB    VF, VD
  509.         LD    VE, SPRTHEIGHT
  510.         SUB    VD, VE
  511.         RET
  512.  
  513. COLLISION:    SNE    VA, TWOCROWS
  514.         JP    COLLCC
  515.         SNE    VA, ONECROW
  516.         JP    KILLCROW1
  517.         SNE    VA, TWOEGGS
  518.         JP    EATEGGS
  519.         SNE    VA, ONEEGG
  520.         JP    EATEGG1
  521.         JP    COLLCB
  522.  
  523. EATEGGS:  LD   I, EGG1SAVE
  524.           LD   V4, [I]
  525.           CALL COLX
  526.           SE   VF, TRUE
  527.           JP   EATEGG2
  528.           CALL COLY
  529.           SE   VF, TRUE
  530.           JP   EATEGG2
  531.           JP   EATEGG1
  532.  
  533. EATEGG1:    CALL    SCOREINC
  534.         CALL    SHORT
  535.         CALL    QUICK
  536.         LD    I, EGG1SAVE
  537.         LD    V4, [I]
  538.         JP    BYEEGG1
  539.  
  540. EATEGG2:    CALL    SCOREINC
  541.         CALL    SHORT
  542.         CALL    QUICK
  543.         LD    I, EGG2SAVE
  544.         LD    V4, [I]
  545.         JP    BYEEGG2
  546.  
  547. COLLCB:   LD   I, CROW1SAVE
  548.           LD   V5, [I]
  549.           CALL COLX
  550.           SE   VF, TRUE
  551.           JP   EATEGG1
  552.           CALL COLY
  553.           SE   VF, TRUE
  554.           JP   EATEGG1
  555.           JP   KILLCROW1
  556.  
  557. COLLCC:   LD   I, CROW1SAVE
  558.           LD   V5, [I]
  559.           CALL COLX
  560.           SE   VF, TRUE
  561.           JP   KILLCROW2
  562.           CALL COLY
  563.           SE   VF, TRUE
  564.           JP   KILLCROW2
  565.           JP   KILLCROW1
  566.  
  567. COLX:     LD   VD, V6
  568.           SUB  VD, V0
  569.           SE   VF, TRUE
  570.           SUBN VD, VF
  571.           LD   VE, SPRTWIDTH
  572.           SUB  VE, VD
  573.           RET
  574.  
  575. COLY:     LD   VD, V7
  576.           SUB  VD, V1
  577.           SE   VF, TRUE
  578.           SUBN VD, VF
  579.           LD   VE, SPRTHEIGHT
  580.           SUB  VE, VD
  581.           RET
  582.  
  583. KILLCROW1:    LD    I, CROW1SAVE
  584.         LD    V5, [I]
  585.         SNE    V7, V1
  586.         JP    BUMP1
  587.         LD    VD, V7
  588.         SUB    VD, V1
  589.         SE    VF, FALSE
  590.         JP    DIEGUY
  591.         CALL    QUICK
  592.         CALL    SHORT
  593.         LD    I, CROW
  594.         ADD    I, V5
  595.         DRW    V0, V1, 8
  596.         SNE    VA, ONECROW1EGG
  597.         JP    MAKEEGG2
  598.         SNE    VA, TWOCROWS
  599.         JP    SHIFTCROW
  600.         SNE    VA, ONECROW
  601.         LD    VA, ONEEGG               
  602.         CALL    INITEGG1              
  603.         RET
  604.  
  605. MAKEEGG2:      LD   VA, TWOEGGS
  606.                CALL INITEGG2
  607.                RET
  608.  
  609. SHIFTCROW:     CALL INITEGG1
  610.                LD   I, CROW2SAVE
  611.                LD   V5, [I]
  612.                LD   I, CROW1SAVE
  613.                LD   [I], V5
  614.                LD   VA, ONECROW1EGG
  615.                RET
  616.  
  617. KILLCROW2:    LD    I, CROW2SAVE
  618.         LD    V5, [I]
  619.         SNE    V7, V1
  620.         JP    BUMP2
  621.         LD    VD, V7
  622.         SUB    VD, V1
  623.         SE    VF, FALSE
  624.         JP    DIEGUY
  625.         CALL    QUICK
  626.         CALL    SHORT
  627.         LD    I, CROW
  628.         ADD    I, V5
  629.         DRW    V0, V1, 8
  630.         LD    VA, ONECROW1EGG
  631.         CALL    INITEGG1
  632.         RET
  633.  
  634. DIEGUY:        LD    V6, GUYDEAD
  635.         RET
  636.  
  637. INITCROW2:    CALL    ADDCROW
  638.         LD    I, CROW2SAVE
  639.         LD    [I], V5
  640.         RET
  641.  
  642. INITCROW1:    CALL    ADDCROW
  643.         LD    I, CROW1SAVE
  644.         LD    [I], V5
  645.         RET
  646.  
  647. ADDCROW:    CALL    RANDINIT    ;random crow placement
  648.         ADD    VB, #FF        ;decrement # of crows
  649.         CALL    GOUP        ;crow starts going up
  650.         RND    VD, 1        ;random right or left
  651.         SE    VD, 1
  652.         CALL    GOLEFT
  653.         SE    VD, 0
  654.         CALL    GORIGHT
  655.         LD    I, CROW        ;crow sprite
  656.         ADD    I, V4
  657.         DRW    V0, V1, 8
  658.         LD    V5, V4
  659.         RET
  660.  
  661. RANDINIT:    RND    VD, 3
  662.         SNE    VD, 0
  663.         JP    STARTPAD1
  664.         SNE    VD, 1
  665.         JP    STARTPAD2
  666.         SNE    VD, 2
  667.         JP    STARTPAD3
  668. STARTPAD4:    LD    V0, 120
  669.         LD    V1, FLOOR - SPRTHEIGHT
  670.         RET
  671. STARTPAD3:    LD    V0, 64
  672.         LD    V1, PAD3TOP - SPRTHEIGHT
  673.         RET
  674. STARTPAD2:    LD    V0, 64
  675.         LD    V1, PAD2TOP - SPRTHEIGHT
  676.         RET
  677. STARTPAD1:    LD    V0, 8
  678.         LD    V1, PAD1TOP - SPRTHEIGHT
  679.         RET
  680.  
  681. INITEGG:  ADD  V1, 8        ;v1 is dead crow y coordinate
  682.           LD   VD, 55        ;check the floor
  683.           SUB  VD, V1        ;so the egg won't fall thru
  684.           SNE  VF, FALSE
  685.           LD   V1, 55
  686.           RND  V4, 1
  687.           LD   I, EGG
  688.           DRW  V0, V1, 4
  689.           RET
  690.  
  691. INITEGG1:    CALL    INITEGG
  692.         LD    I, EGG1SAVE
  693.         LD    [I], V4
  694.         RET
  695.  
  696. INITEGG2:    CALL    INITEGG
  697.         LD    I, EGG2SAVE
  698.         LD    [I], V4
  699.         RET
  700.  
  701. BUMP1:        CALL    BUMPTEST
  702.         SE    VF, FALSE
  703.         JP    BUMP1RIGHT
  704.         CALL    GORIGHT
  705.         CALL    DRAWCROW1
  706.         CALL    DRAWCROW1
  707.         JP    BUMPGUYLEFT
  708. BUMP1RIGHT:    CALL    GOLEFT
  709.         CALL    DRAWCROW1
  710.         CALL    DRAWCROW1
  711.         JP    BUMPGUYRIGHT
  712.  
  713. BUMP2:        CALL    BUMPTEST
  714.         SE    VF, FALSE
  715.         JP    BUMP2RIGHT
  716.         CALL    GORIGHT
  717.         CALL    DRAWCROW2
  718.         CALL    DRAWCROW2
  719.         JP    BUMPGUYLEFT
  720. BUMP2RIGHT:    CALL    GOLEFT
  721.         CALL    DRAWCROW2
  722.         CALL    DRAWCROW2
  723.         JP    BUMPGUYRIGHT
  724.  
  725. BUMPTEST:    LD    VD, 3
  726.         LD    ST, VD
  727.         LD    VD, V6
  728.         SUB    VD, V0
  729.         RET
  730.  
  731. BUMPGUYRIGHT:    LD    I, GUYSAVE
  732.         LD    V5, [I]
  733.         CALL    GORIGHT
  734.         CALL    DRAWGUY
  735.         CALL    DRAWGUY
  736.         RET
  737.  
  738. BUMPGUYLEFT:    LD    I, GUYSAVE
  739.         LD    V5 , [I]
  740.         CALL    GOLEFT
  741.         CALL    DRAWGUY
  742.         CALL    DRAWGUY
  743.         RET
  744.  
  745. DIE:        CALL    SHORT
  746.         CALL    QUICK
  747.         CALL    LONG
  748.         LD    VD, 10
  749.         CALL    DELAY
  750.         ADD    V9, #FF
  751.         SNE    V9, #0
  752.         JP    FINI
  753.         SNE    VA, ONECROW
  754.         ADD    VB, 1
  755.         SNE    VA, ONECROW1EGG
  756.         ADD    VB, 1
  757.         SNE    VA, TWOCROWS
  758.         ADD    VB, 2
  759.         LD    VA, TWOCROWS
  760.         SNE    VB, 0
  761.         JP    NEWLEVEL
  762.         LD    VA, TWOCROWS
  763.         SNE    VB, 1
  764.         LD    VA, ONECROW
  765.         JP    RESUME
  766.  
  767. FINI:        CALL    BYE
  768.         CLS
  769.         CALL    SCOREDRW
  770.         CALL    FINITE        ;flying birds
  771.         JP    REPLAY
  772.  
  773. BYE:        LD    VD, 12        ;plays ending tune
  774.         LD    ST, VD
  775.         LD    VD, #18
  776.         CALL    DELAY
  777.         CALL    SHORT
  778.         CALL    SHORT
  779.         CALL    LONG
  780.         CALL    LONG
  781.         LD    VD, 32
  782.         CALL    DELAY
  783.         CALL    LONG
  784.         CALL    LONG
  785.         LD    VD, 32
  786.         CALL    DELAY
  787.         RET
  788.  
  789. QUICK:        LD    VD, 2
  790.         LD    ST, VD
  791.         LD    VD, 5
  792.         CALL    DELAY
  793.         RET
  794.  
  795. SHORT:        LD    VD, 4
  796.         LD    ST, VD
  797.         LD    VD, 10
  798.         CALL    DELAY
  799.         RET
  800.  
  801. LONG:        LD    VD, 8
  802.         LD    ST, VD
  803.         LD    VD, 20
  804.         CALL    DELAY
  805.         RET
  806.  
  807. SCOREINC:      LD   I, SCORE
  808.                LD   V0, [I]
  809.                ADD  V0, SCOREDELTA
  810.                LD   [I], V0
  811.                RET
  812.  
  813. SCOREDRW:      LD   I, SCORE
  814.                LD   V0, [I]
  815.                LD   B, V0
  816.                LD   V2, [I]
  817.                LD   VE, 27
  818.                LD   VD, 49
  819.                DW   #F030               ;10 BYTE FONT FOR V0
  820.                DRW  VD, VE, 10
  821.                ADD  VD, 10
  822.                DW   #F130               ;10 BYTE FONT FOR V1
  823.                DRW  VD, VE, 10
  824.                ADD  VD, 10
  825.                DW   #F230               ;10 BYTE FONT FOR V2
  826.                DRW  VD, VE, 10
  827.                RET
  828.  
  829.  
  830. RAY1:          LD   V3, 0
  831.                LD   V4, 0
  832.                LD   V5, 124
  833.                LD   V6, 62
  834.  
  835. RAY2:          LD   I, DOT
  836.      CONV:     DRW  V3, V4, 3
  837.                DRW  V3, V6, 3
  838.                DRW  V5, V4, 3
  839.                DRW  V5, V6, 3
  840.                ADD  V3, 4
  841.                ADD  V4, 2
  842.                ADD  V5, #FC
  843.                ADD  V6, #FE
  844.                LD   VD, 4
  845.                CALL DELAY
  846.                SNE  V3, 64
  847.                RET
  848.                SNE  V3, 128
  849.                RET
  850.                JP CONV
  851.  
  852. INITGUY:       LD   V4, 0
  853.                LD   V5, 0
  854.                LD   V0, PAD1LFT
  855.                LD   V1, PAD1TOP - 8
  856.                LD   I, GUY
  857.                DRW  V0, V1, 8
  858.                LD   I, GUYSAVE
  859.                LD   [I], V5
  860.                RET
  861.  
  862. CHECKVERT:     SNE  V1, ROOF
  863.                JP   CHECKROOF
  864.                SNE  V1, FLOOR - SPRTHEIGHT
  865.                JP   CHECKFLOOR
  866.  
  867.                LD   VD, 2
  868.                SE  V3, VD
  869.                JP   STOPUP
  870.  
  871.                SNE  V1, PAD1TOP - SPRTHEIGHT
  872.                JP   PAD1H
  873.                SNE  V1, PAD2TOP - SPRTHEIGHT
  874.                JP   PAD23H
  875.                SNE  V1, PAD3TOP - SPRTHEIGHT
  876.                JP   PAD23H
  877.                RET
  878.  
  879. STOPUP:        SNE  V1, PAD1BOT
  880.                JP   PAD1H
  881.                SNE  V1, PAD2BOT
  882.                JP   PAD23H
  883.                SNE  V1, PAD3BOT
  884.                JP   PAD23H
  885.                RET
  886.  
  887. PAD1H:         LD   VD, PAD1RGT
  888.                SUBN VD, V0
  889.                SE   VF, TRUE
  890.                JP   YHOLD
  891.                LD   VD, PAD1LFT - SPRTWIDTH
  892.                SUB  VD, V0
  893.                SE   VF, TRUE
  894.                JP   YHOLD
  895.                RET
  896.  
  897. PAD23H:        LD   VD, PAD2LFT - SPRTWIDTH+1
  898.                SUBN VD, V0
  899.                SE   VF, TRUE
  900.                RET
  901.                LD   VD, PAD2RGT
  902.                SUBN VD, V0
  903.                SE   VF, TRUE
  904.                JP   YHOLD
  905.                RET
  906.  
  907. CHECKROOF:     LD   VD, #FE
  908.                SNE  V3, VD
  909.                CALL GODOWN
  910.                RET
  911.  
  912. CHECKFLOOR:    LD   VD, 2
  913.                SE  V3, VD
  914.                RET
  915.                SNE  V8, MODE1
  916.                JP   YHOLD
  917.                SE   V8, MODE1
  918.                JP   PAD1H
  919.                RET
  920.  
  921. YHOLD:         LD   V3, 0
  922.                RET 
  923.  
  924. CHECKHORZ:     SNE  V2, 0
  925.                RET
  926.                LD   VD, 4
  927.                SE  V2, VD
  928.                JP   STAYLEFT
  929.  
  930.                SNE  V0, PAD1LFT - SPRTWIDTH
  931.                JP   PAD1V
  932.                SNE  V0, PAD2LFT - SPRTWIDTH
  933.                JP   PAD23V
  934.                RET
  935.  
  936. STAYLEFT:      SNE  V0, PAD1RGT
  937.                JP   PAD1V
  938.                SNE  V0, PAD2RGT
  939.                JP   PAD23V
  940.                RET
  941.  
  942. PAD1V:         LD   VD, PAD1TOP - SPRTHEIGHT - 3
  943.                SUBN VD, V1
  944.                SE   VF, TRUE
  945.                RET
  946.                LD   VD, PAD1BOT + 1
  947.                SUBN VD, V1
  948.                SE   VF, TRUE
  949.                JP   XHOLD
  950.                RET
  951.  
  952. PAD23V:        LD   VD, 28
  953.                SUB  VD, V1
  954.                SNE  VF, FALSE
  955.                JP   PAD3V
  956.  
  957. PAD2V:         LD   VD, PAD2TOP - SPRTHEIGHT - 3
  958.                SUBN VD, V1
  959.                SE   VF, TRUE
  960.                RET
  961.                LD   VD, PAD2BOT + 1
  962.                SUBN VD, V1
  963.                SE   VF, TRUE
  964.                JP   XHOLD
  965.                RET
  966.  
  967. PAD3V:         LD   VD, PAD3TOP - SPRTHEIGHT - 3
  968.                SUBN VD, V1
  969.                SE   VF, TRUE
  970.                RET
  971.                LD   VD, PAD3BOT + 1
  972.                SUBN VD, V1
  973.                SE   VF, TRUE
  974.                JP   XHOLD
  975.                RET
  976.  
  977. XHOLD:         LD   V2, 0
  978.                RET
  979.  
  980. SCREEN:        CLS
  981.                LD   VD, 0
  982.                LD   VE, 60
  983.                LD   I, SOLIDPAD
  984.                DRW  VD, VE, 4
  985.                LD   VD, 8
  986.                DRW  VD, VE, 4
  987.                LD   I, CENTERPAD
  988.                LD   VD, 16
  989.                SNE  V8, MODE1
  990.                CALL FLOOR1
  991.                SE   V8, MODE1
  992.                CALL FLOOR2
  993.                LD   I, CENTERPAD
  994.                LD   VE, PAD1TOP
  995.                LD   VD, PAD1LFT + 8
  996.                DRW  VD, VE, 4
  997.                LD   VD, PAD1RGT - 16
  998.                DRW  VD, VE, 4
  999.                LD   VD, PAD2LFT + 8
  1000.                LD   VE, PAD2TOP 
  1001.                DRW  VD, VE, 4
  1002.                LD   VD, PAD2LFT + 16
  1003.                DRW  VD, VE, 4
  1004.                LD   VE, PAD3TOP
  1005.                DRW  VD, VE, 4
  1006.                LD   VD, PAD3LFT + 8
  1007.                DRW  VD, VE, 4
  1008.                LD   I, RIGHTPAD
  1009.                LD   VD, PAD3RGT - 8
  1010.                DRW  VD, VE, 4
  1011.                LD   VE, PAD2TOP
  1012.                DRW  VD, VE, 4
  1013.                LD   VD, PAD1RGT - 8
  1014.                LD   VE, PAD1TOP
  1015.                DRW  VD, VE, 4
  1016.                LD   I, LEFTPAD
  1017.                LD   VD, PAD1LFT
  1018.                DRW  VD, VE, 4
  1019.                LD   VE, PAD3TOP
  1020.                LD   VD, PAD3LFT
  1021.                DRW  VD, VE, 4
  1022.                LD   VE, PAD2TOP
  1023.                DRW  VD, VE, 4
  1024.                CALL PLAYSLEFT
  1025.                RET
  1026.  
  1027. FLOOR1:        DRW  VD, VE, 4
  1028.                ADD  VD, 8
  1029.                SE   VD, 128
  1030.                JP   FLOOR1
  1031.                RET
  1032.  
  1033. FLOOR2:        LD   VD, 112
  1034.                DRW  VD, VE, 4
  1035.                LD   VD, 120
  1036.                DRW  VD, VE, 4
  1037.                LD   VD, 16
  1038.                LD   I, SPLASH
  1039.                LD   VE, 59
  1040.       IWLP:    DRW  VD, VE, 5
  1041.                ADD  VD, 8
  1042.                SE   VD, 112
  1043.                JP   IWLP
  1044.                LD   V0, 104
  1045.                LD   V1, #F8
  1046.                LD   I, SPLASHSAVE
  1047.                LD   [I], V1
  1048.                RET
  1049.  
  1050. PLAYSLEFT:    SNE    V9, 1
  1051.         RET
  1052.         LD    VD, 1
  1053.         LD    VE, 61
  1054.         LD    I, DOT
  1055.         DRW    VD, VE, 3
  1056.         ADD    VD, 4
  1057.         SE    V9, 2
  1058.         DRW    VD, VE, 3
  1059.         ADD    VD, 4
  1060.         LD    V6, 3
  1061.         SUB    V6, V9
  1062.         SNE    VF, FALSE
  1063.         DRW    VD, VE, 3
  1064.         RET
  1065.  
  1066. NAME:          LD   I, TITLE
  1067.                LD   VD, 36
  1068.                LD   VE, 24
  1069.                DRW  VD, VE, 0
  1070.                LD   V0, 32
  1071.                ADD  I, V0
  1072.                ADD  VD, 16
  1073.                DRW  VD, VE, 0
  1074.                ADD  I, V0
  1075.                ADD  VD, 16
  1076.                DRW  VD, VE, 0
  1077.                ADD  I, V0
  1078.                ADD  VD, 16
  1079.                DRW  VD, VE, 0
  1080.  
  1081. FINITE:        LD   V8, 0
  1082.                LD   VB, 1
  1083.                LD   VA, 0
  1084.                CALL INITCROW1
  1085.                CALL INITGUY
  1086.                CALL GORIGHT
  1087.                LD   I, GUYSAVE
  1088.                LD   [I], V5
  1089.  
  1090. TLP:           LD   VD, 10
  1091.                CALL DELAY
  1092.                LD   I, GUYSAVE
  1093.                LD   V5, [I]
  1094.                CALL TSUB
  1095.                CALL TITLEGUY
  1096.                LD   I, GUYSAVE
  1097.                LD   [I], V5
  1098.                LD   I, CROW1SAVE
  1099.                LD   V5, [I]
  1100.                CALL TSUB
  1101.                CALL TITLECROW
  1102.                LD   I, CROW1SAVE
  1103.                LD   [I], V5
  1104.                LD   VD, KEYUP
  1105.                SKP  VD
  1106.                JP   TLP
  1107.                RET
  1108.  
  1109. TSUB:          RND  VD, #F
  1110.                SNE  VD, FALSE
  1111.                CALL GORANDOM
  1112.                SNE  V1, 2
  1113.                LD   V3, 2
  1114.                SNE  V1, 54
  1115.                LD   V3, #FE
  1116.                RET
  1117.  
  1118. BONUS:        CALL    SCREEN
  1119.         CALL    INITGUY
  1120.         LD    I, EGG
  1121.         LD    VE, PAD2TOP - 4
  1122.         LD    VD, PAD2LFT + 2
  1123.         DRW    VD, VE, 4
  1124.         ADD    VD, 12
  1125.         DRW    VD, VE, 4
  1126.         ADD    VD, 12
  1127.         DRW    VD, VE, 4
  1128.         LD    VE, PAD3TOP - 4
  1129.         LD    VD, PAD3LFT + 2
  1130.         DRW    VD, VE, 4
  1131.         ADD    VD, 12
  1132.         DRW    VD, VE, 4
  1133.         ADD    VD, 12
  1134.         DRW    VD, VE, 4
  1135.         LD    VE, PAD1TOP - 4
  1136.         LD    VD, PAD1RGT - 6
  1137.         DRW    VD, VE, 4
  1138.         LD    VE, FLOOR - 4
  1139.         DRW    VD, VE, 4
  1140.         LD    VD, PAD1LFT + 2
  1141.         DRW    VD, VE, 4
  1142.         LD    V6, 0
  1143.         LD    V7, 0
  1144.  
  1145. ;--------------------------
  1146. ;Bonus Round Register Usage
  1147. ;--------------------------
  1148. ;v0 = guy x
  1149. ;v1 = guy y
  1150. ;v2 = guy delta x
  1151. ;v3 = guy delta y
  1152. ;v4 = current right/left flag
  1153. ;v5 = old right/left flag
  1154.  
  1155. BONUSMAIN:    ADD    V7, 1
  1156.         SNE    V7, BONUSLIMIT
  1157.         JP    NEWLEVEL
  1158.         LD    VD, 1
  1159.         LD    ST, VD
  1160.         LD    VD, 3
  1161.         CALL    DELAY
  1162.         LD    I, GUYSAVE
  1163.         LD    V5, [I]
  1164.         CALL    GODOWN
  1165.         LD    V2, 0
  1166.         LD    VD, KEYUP
  1167.         SKNP    VD
  1168.         CALL    GOUP
  1169.         LD    VD, KEYLFT
  1170.         SKNP    VD
  1171.         CALL    GOLEFT
  1172.         LD    VD, KEYRGT
  1173.         SKNP    VD
  1174.         CALL    GORIGHT
  1175.         CALL    CHECKVERT
  1176.         CALL    CHECKHORZ
  1177.         LD    VD, V0
  1178.         LD    VE, V1
  1179.         ADD    V0, V2
  1180.         ADD    V1, V3
  1181.         LD    I, GUY
  1182.         ADD    I, V5
  1183.         LD    V5, 127
  1184.         AND    V0, V5
  1185.         LD    V5, V4
  1186.         DRW    VD, VE, 8
  1187.         LD    I, GUY
  1188.         ADD    I, V4
  1189.         DRW    V0, V1, 8
  1190.         SNE    V1, 56
  1191.         JP    BONUSDIE
  1192.         LD    I, GUYSAVE
  1193.         LD    [I], V5
  1194.         SNE    VF, TRUE
  1195.         CALL    BONUSCHECK
  1196.         SNE    V6, 9
  1197.         JP    BIGBONUS
  1198.               JP    BONUSMAIN
  1199.  
  1200. BONUSCHECK:    LD    VE, FLOOR - 8
  1201.         SNE    V1, VE
  1202.         JP    FLOORBONUS
  1203.         LD    VE, PAD1TOP - 8
  1204.         SNE    V1, VE
  1205.         JP    PAD1BONUS
  1206.         LD    VE, PAD2TOP - 8
  1207.         SNE    V1, VE
  1208.         JP    PAD23BONUS
  1209.         LD    VE, PAD3TOP - 8
  1210.         SNE    V1, VE
  1211.         JP    PAD23BONUS
  1212.         RET
  1213.  
  1214. FLOORBONUS:    LD    VD, PAD1LFT + 4
  1215.         SNE    V0, VD
  1216.         JP    BONUSEGG
  1217.         LD    VD, PAD1RGT - 4
  1218.         SNE    V0, VD
  1219.         JP    BONUSEGG
  1220.         RET
  1221.  
  1222. PAD1BONUS:    LD    VD, PAD1RGT - 4
  1223.         SNE    V0, VD
  1224.         JP    BONUSEGG
  1225.         RET
  1226.  
  1227. PAD23BONUS:    LD    VD, PAD2LFT + 4
  1228.         SNE    V0, VD
  1229.         JP     BONUSEGG
  1230.         ADD    VD, 12
  1231.         SNE    V0, VD
  1232.         JP    BONUSEGG
  1233.         ADD    VD, 12
  1234.         SNE    V0, VD
  1235.         JP    BONUSEGG
  1236.         RET
  1237.  
  1238. BONUSEGG:    ADD    VD, #FE
  1239.         ADD    VE, 4
  1240.         LD    I, EGG
  1241.         DRW    VD, VE, 4
  1242.         CALL    SHORT
  1243.         CALL    QUICK
  1244.         ADD    V6, 1
  1245.         LD    I, SCORE
  1246.         LD    V0, [I]
  1247.         ADD    V0, SCOREDELTA
  1248.         LD    [I], V0
  1249.         RET
  1250.  
  1251. BONUSDIE:    LD    VD, 8
  1252.         LD    ST, VD
  1253.         LD    VD, 20
  1254.         CALL    DELAY
  1255.         ADD    V9, #FF
  1256.         SNE    V9, #0
  1257.         JP    FINI
  1258.         JP    NEWLEVEL
  1259.  
  1260. BIGBONUS:    LD    I, SCORE
  1261.         LD    V0, [I]
  1262.         ADD    V0, 8
  1263.         LD    [I], V0
  1264.         ADD    V9, 1
  1265.         CALL    LONG
  1266.         CALL    SHORT
  1267.         CALL    LONG
  1268.         JP    NEWLEVEL
  1269.  
  1270. SCORE:    DB   #0, #0, #0
  1271.  
  1272. DOT:      DB   $01000000, $11100000, $01000000
  1273.  
  1274. GUY:      DB   $00000110, $00001111, $00001100, $00001100
  1275.           DB   $00000110, $11111111, $01111111, $00011110
  1276.  
  1277.           DB   $01100000, $11110000, $00110000, $00110000
  1278.           DB   $01100000, $11111111, $11111110, $01111000
  1279.  
  1280. CROW:     DB   $00001110, $00001111, $00001100, $00001100
  1281.           DB   $11111110, $01111111, $00011111, $00001110
  1282.  
  1283.           DB   $01110000, $11110000, $00110000, $00110000
  1284.           DB   $01111111, $11111110, $11111000, $01110000      
  1285.  
  1286. GUYSAVE:       DB   0, 0, 0, 0, 0, 0
  1287.  
  1288. CROW1SAVE:     DB   0, 0, 0, 0, 0, 0
  1289.  
  1290. CROW2SAVE:     DB   0, 0, 0, 0, 0, 0
  1291.  
  1292. EGG1SAVE:    DB    0, 0, 0, 0, 0
  1293. EGG2SAVE:    DB    0, 0, 0, 0, 0
  1294.  
  1295. RIGHTPAD:    DB    $11111111, $10111010, $11101000, $10000000
  1296. LEFTPAD:    DB    $11111111, $01101101, $00011011, $00000010
  1297. CENTERPAD:    DB    $11111111, $11101110, $10111011, $10110110
  1298. SOLIDPAD:    DB    $11111111, $11111111, $11111111, $11111111
  1299.  
  1300. LEVEL:         DB   0, 0, 0    ;used for twodigit level
  1301.  
  1302. SPLASH:        DB   $00000110, $00011100, $00101000, $01011100, $11111110
  1303. SPLASHXOR:     DB   $01100110, $00100100, $00111100, $01100110, $00000000
  1304.  
  1305. SPLASHSAVE:    DB   0, 0    ;right/left flag and x position
  1306.  
  1307. EGG:    DB   $01100000, $11110000, $11110000, $01100000
  1308.  
  1309. TITLE:    DB   $00000000, $11000000
  1310.           DB   $00000000, $11000000
  1311.           DB   $00000000, $11000000
  1312.           DB   $00000000, $11000000
  1313.           DB   $00000000, $11000000
  1314.           DB   $00000000, $11000000
  1315.           DB   $00000000, $11000011
  1316.           DB   $00000000, $11000111
  1317.           DB   $00000000, $11001100
  1318.           DB   $00000000, $11001100
  1319.           DB   $11000000, $11001100
  1320.           DB   $11000000, $11001100
  1321.           DB   $11000000, $11001100
  1322.           DB   $11000000, $11001100
  1323.           DB   $01111111, $10000111
  1324.           DB   $00111111, $00000011     
  1325.  
  1326.           DB   $00000000, $00000000
  1327.           DB   $00000000, $00000000
  1328.           DB   $00000000, $00000000
  1329.           DB   $00000000, $00000000
  1330.           DB   $00000000, $00000000    
  1331.           DB   $00000000, $00000000
  1332.           DB   $11110000, $11000000
  1333.           DB   $11111000, $11000000
  1334.           DB   $00001100, $11000000
  1335.           DB   $00001100, $11000000
  1336.           DB   $00001100, $11000000
  1337.           DB   $00001100, $11000000
  1338.           DB   $00001100, $11000000
  1339.           DB   $00001100, $11000000
  1340.           DB   $11111000, $01111111
  1341.           DB   $11110000, $00111111
  1342.      
  1343.           DB   $00000000, $00000000
  1344.           DB   $00000000, $00000000
  1345.           DB   $00000000, $00000000
  1346.           DB   $00000000, $00000000
  1347.           DB   $00000000, $00000000
  1348.           DB   $00000000, $00000000
  1349.           DB   $11000011, $11111100
  1350.           DB   $11000111, $11111100
  1351.           DB   $11001100, $00000000
  1352.           DB   $11001100, $00000000
  1353.           DB   $11000111, $11110000
  1354.           DB   $11000011, $11111000
  1355.           DB   $11000000, $00001100
  1356.           DB   $11000000, $00001100
  1357.           DB   $11001111, $11111000
  1358.           DB   $11001111, $11110000
  1359.  
  1360.  
  1361.           DB   $00000000, $00000000
  1362.           DB   $00000000, $00000000
  1363.           DB   $00110000, $00000000
  1364.           DB   $00110000, $00000000
  1365.           DB   $00110000, $00000000
  1366.           DB   $00110000, $00000000
  1367.           DB   $11111100, $00000000
  1368.           DB   $11111100, $00000000
  1369.           DB   $00110000, $00000000
  1370.           DB   $00110000, $00000000
  1371.           DB   $00110000, $00000000
  1372.           DB   $00110000, $00000000
  1373.           DB   $00110011, $00000000
  1374.           DB   $00110011, $00000000
  1375.           DB   $00011110, $00000000
  1376.           DB   $00001100, $00000000
  1377.  
  1378.